Augmented reality (“AR”) is a combination of a real scene viewed by a user and a virtual scene generated by a computing device that augments the scene with additional information. In other words, augmented reality provides a view of the real or physical world with added computer-generated sensory inputs (e.g., visual, audible). An augmented reality system adds virtual objects, audio and other sensory enhancements to a real world environment in real time. For example, a mobile phone with a camera may capture a real-world scene (as an image or video) and display a composite of the captured scene with computer-generated objects. The virtual objects may be, for example, two-dimensional and/or three-dimensional objects, and they may be static or dynamic. Certain virtual objects may be configured to be displayed in different locations within a scene, and not all objects may be visible initially. For example, some objects may be outside the initial field of view of the user's camera orientation, and some objects may only appear after certain triggering conditions occur.
AR effects may be experienced through a variety of ways. For example, AR effects may be experienced via 3D viewers which may allow users to see 3D models as if they actual exist in their environment. Users may also experience AR effects through 2D displays (e.g., smart phone displays, smart glasses, computer displays, etc.). The AR effects may enrich a display with augmented or contextual information. For example, the users may point their smartphones at a building to display its history or estimated value. AR effects may also be experienced through gaming, creating immersive gaming experiences that utilize the users' actual surroundings. AR effects may be displayed through, e.g., mobile or computing devices, head-mounted displays, glasses, lenses, etc.
A social-networking system, which may include a social-networking website, may enable its users (such as persons or organizations) to interact with it and with each other through it. The social-networking system may, with input from a user, create and store in the social-networking system a user profile associated with the user. The user profile may include demographic information, communication-channel information, and information on personal interests of the user. The social-networking system may also, with input from a user, create and store a record of relationships of the user with other users of the social-networking system, as well as provide services (e.g. wall posts, photo-sharing, event organization, messaging, games, or advertisements) to facilitate social interaction between or among users.
The social-networking system may send over one or more networks content or messages related to its services to a mobile or other computing device of a user. A user may also install software applications on a mobile or other computing device of the user for accessing a user profile of the user and other data within the social-networking system. The social-networking system may generate a personalized set of content objects to display to a user, such as a newsfeed of aggregated stories of other users connected to the user.
Social-graph analysis views social relationships in terms of network theory consisting of nodes and edges. Nodes represent the individual actors within the networks, and edges represent the relationships between the actors. The resulting graph-based structures are often very complex. There can be many types of nodes and many types of edges for connecting nodes. In its simplest form, a social graph is a map of all of the relevant edges between all the nodes being studied.